C0/0208 9C 01 30    STZ $3001  [$00:3001]   A:0080 X:4200 Y:0084 
C0/020B A2 00 22    LDX #$2200              A:0080 X:4200 Y:0084 
C0/020E C2 20       REP #$20                A:0080 X:2200 Y:0084 
C0/0210 A9 A0 FF    LDA #$FFA0              A:0080 X:2200 Y:0084 ;SA-1 starting address
C0/0213 95 03       STA $03,x  [$00:2203]   A:FFA0 X:2200 Y:0084 
C0/0215 A9 08 00    LDA #$0008              A:FFA0 X:2200 Y:0084 
C0/0218 95 05       STA $05,x  [$00:2205]   A:0008 X:2200 Y:0084 
C0/021A A9 0C 00    LDA #$000C              A:0008 X:2200 Y:0084 
C0/021D 95 07       STA $07,x  [$00:2207]   A:000C X:2200 Y:0084 
C0/021F A9 8F 80    LDA #$808F              A:000C X:2200 Y:0084 
C0/0222 8D 09 30    STA $3009  [$00:3009]   A:808F X:2200 Y:0084 
C0/0225 A9 AB 80    LDA #$80AB              A:808F X:2200 Y:0084 
C0/0228 8D 0D 30    STA $300D  [$00:300D]   A:80AB X:2200 Y:0084 
C0/022B E2 20       SEP #$20                A:80AB X:2200 Y:0084 
C0/022D A9 5C       LDA #$5C                A:80AB X:2200 Y:0084 
C0/022F 8D 04 30    STA $3004  [$00:3004]   A:805C X:2200 Y:0084 
C0/0232 8D 08 30    STA $3008  [$00:3008]   A:805C X:2200 Y:0084 
C0/0235 8D 0C 30    STA $300C  [$00:300C]   A:805C X:2200 Y:0084 
C0/0238 A9 C0       LDA #$C0                A:805C X:2200 Y:0084 
C0/023A 8D 0B 30    STA $300B  [$00:300B]   A:80C0 X:2200 Y:0084 
C0/023D 8D 0F 30    STA $300F  [$00:300F]   A:80C0 X:2200 Y:0084 
C0/0240 74 20       STZ $20,x  [$00:2220]   A:80C0 X:2200 Y:0084 
C0/0242 A9 01       LDA #$01                A:80C0 X:2200 Y:0084 
C0/0244 95 21       STA $21,x  [$00:2221]   A:8001 X:2200 Y:0084 
C0/0246 A9 02       LDA #$02                A:8001 X:2200 Y:0084 
C0/0248 95 22       STA $22,x  [$00:2222]   A:8002 X:2200 Y:0084 
C0/024A A9 03       LDA #$03                A:8002 X:2200 Y:0084 
C0/024C 95 23       STA $23,x  [$00:2223]   A:8003 X:2200 Y:0084 
C0/024E A9 01       LDA #$01                A:8003 X:2200 Y:0084 
C0/0250 95 24       STA $24,x  [$00:2224]   A:8001 X:2200 Y:0084 
C0/0252 74 26       STZ $26,x  [$00:2226]   A:8001 X:2200 Y:0084 
C0/0254 A9 05       LDA #$05                A:8001 X:2200 Y:0084 
C0/0256 95 28       STA $28,x  [$00:2228]   A:8005 X:2200 Y:0084 
C0/0258 A9 FF       LDA #$FF                A:8005 X:2200 Y:0084 
C0/025A 95 29       STA $29,x  [$00:2229]   A:80FF X:2200 Y:0084 
C0/025C A9 00       LDA #$00                A:80FF X:2200 Y:0084 
C0/025E 8D 00 22    STA $2200  [$00:2200]   A:8000 X:2200 Y:0084 
C0/0261 60          RTS                     A:8000 X:2200 Y:0084


check buttons to determine Mario's actions

C0/14AF AD 15 01    LDA $0115  [$00:0115]   A:6400 X:6000 Y:0000 
C0/14B2 D0 0A       BNE $0A    [$14BE]      A:6400 X:6000 Y:0000 
C0/14B4 AD 78 01    LDA $0178  [$00:0178]   A:6400 X:6000 Y:0000 
C0/14B7 D0 0D       BNE $0D    [$14C6]      A:6400 X:6000 Y:0000 
C0/14B9 AD 11 01    LDA $0111  [$00:0111]   A:6400 X:6000 Y:0000 
C0/14BC F0 08       BEQ $08    [$14C6]      A:6400 X:6000 Y:0000 
C0/14C6 AD 12 01    LDA $0112  [$00:0112]   A:6400 X:6000 Y:0000 
C0/14C9 2D 13 01    AND $0113  [$00:0113]   A:64FF X:6000 Y:0000 
C0/14CC 25 11       AND $11    [$00:0011]   A:64FF X:6000 Y:0000 ;AND with button bits
C0/14CE 85 62       STA $62    [$00:0062]   A:6480 X:6000 Y:0000 
C0/14D0 89 40       BIT #$40                A:6480 X:6000 Y:0000 ;check Y button bit
C0/14D2 D0 05       BNE $05    [$14D9]      A:6480 X:6000 Y:0000 ;branch if set
C0/14D4 9C 10 01    STZ $0110  [$00:0110]   A:6480 X:6000 Y:0000 
C0/14D7 80 05       BRA $05    [$14DE]      A:6480 X:6000 Y:0000 

C0/14D9 A9 01       LDA #$01                A:0000 X:0000 Y:0000 
C0/14DB 8D 10 01    STA $0110  [$00:0110]   A:0000 X:0000 Y:0000 ;set Y button as pressed

C0/14DE AD 12 01    LDA $0112  [$00:0112]   A:6480 X:6000 Y:0000 
C0/14E1 2D 13 01    AND $0113  [$00:0113]   A:64FF X:6000 Y:0000 
C0/14E4 25 15       AND $15    [$00:0015]   A:64FF X:6000 Y:0000 ;isolate button bits
C0/14E6 10 1B       BPL $1B    [$1503]      A:6480 X:6000 Y:0000 ;branch if B button not set

C0/14E8 B5 0C       LDA $0C,x  [$00:600C]   A:6480 X:6000 Y:0000 
C0/14EA 89 10       BIT #$10                A:6487 X:6000 Y:0000 ;check underwater bit
C0/14EC D0 0D       BNE $0D    [$14FB]      A:6487 X:6000 Y:0000 ;branch if underwater
C0/14EE 89 20       BIT #$20                A:6487 X:6000 Y:0000 
C0/14F0 F0 04       BEQ $04    [$14F6]      A:6487 X:6000 Y:0000 

C0/14F2 89 08       BIT #$08                A:0000 X:0000 Y:0000 
C0/14F4 F0 0D       BEQ $0D    [$1503]      A:0000 X:0000 Y:0000 

C0/14F6 A0 6C 00    LDY #$006C              A:6487 X:6000 Y:0000 ;load maximum height to jump
C0/14F9 80 03       BRA $03    [$14FE]      A:6487 X:6000 Y:006C 

C0/14FB A0 22 00    LDY #$0022              A:0000 X:0000 Y:0000 ;load maximum height to jump

C0/14FE 84 82       STY $82    [$00:0082]   A:6487 X:6000 Y:006C ;set maximum height
C0/1500 20 77 17    JSR $1777  [$00:1777]   A:6487 X:6000 Y:006C ;execute jump

asdgasgasldg;jasg;l

C0/17B6 A9 04       LDA #$04                A:00C7 X:6000 Y:006C ;load jumping sound effect
C0/1A52 A9 5D       LDA #$5D                A:FF00 X:6360 Y:003B ;load water splash sound effect
C0/DE90 B9 00 00    LDA $0000,y[$E0:407D]   A:0138 X:0138 Y:407D ;load lava burn surprise sound effect

set speed for Mario when walking/running

C0/154E A5 9B       LDA $9B    [$00:009B]   A:6300 X:6000 Y:0000 
C0/1550 C9 FF       CMP #$FF                A:6301 X:6000 Y:0000 
C0/1552 D0 04       BNE $04    [$1558]      A:6301 X:6000 Y:0000 
C0/1558 9B          TXY                     A:6301 X:6000 Y:0000 
C0/1559 B5 0C       LDA $0C,x  [$00:600C]   A:6301 X:6000 Y:6000 
C0/155B 89 30       BIT #$30                A:6387 X:6000 Y:6000 
C0/155D D0 51       BNE $51    [$15B0]      A:6387 X:6000 Y:6000 
C0/155F B5 0C       LDA $0C,x  [$00:600C]   A:6387 X:6000 Y:6000 
C0/1561 89 40       BIT #$40                A:6387 X:6000 Y:6000 
C0/1563 D0 06       BNE $06    [$156B]      A:6387 X:6000 Y:6000 
C0/1565 B5 0B       LDA $0B,x  [$00:600B]   A:6387 X:6000 Y:6000 
C0/1567 89 10       BIT #$10                A:6303 X:6000 Y:6000 
C0/1569 D0 15       BNE $15    [$1580]      A:6303 X:6000 Y:6000 
C0/156B AD 10 01    LDA $0110  [$00:0110]   A:6303 X:6000 Y:6000 
C0/156E F0 03       BEQ $03    [$1573]      A:6301 X:6000 Y:6000 
C0/1570 82 85 00    BRL $0085  [$15F8]      A:6301 X:6000 Y:6000 

C0/15F8 B5 07       LDA $07,x  [$00:6007]   A:6301 X:6000 Y:6000 
C0/15FA 29 07       AND #$07                A:63C0 X:6000 Y:6000 
C0/15FC C9 01       CMP #$01                A:6300 X:6000 Y:6000 
C0/15FE F0 18       BEQ $18    [$1618]      A:6300 X:6000 Y:6000 
C0/1600 C9 03       CMP #$03                A:6300 X:6000 Y:6000 
C0/1602 F0 10       BEQ $10    [$1614]      A:6300 X:6000 Y:6000 
C0/1604 C9 04       CMP #$04                A:6300 X:6000 Y:6000 
C0/1606 F0 1A       BEQ $1A    [$1622]      A:6300 X:6000 Y:6000 
C0/1608 C9 05       CMP #$05                A:6300 X:6000 Y:6000 
C0/160A F0 10       BEQ $10    [$161C]      A:6300 X:6000 Y:6000 
C0/160C C9 06       CMP #$06                A:6300 X:6000 Y:6000 
C0/160E F0 10       BEQ $10    [$1620]      A:6300 X:6000 Y:6000 
C0/1610 A9 01       LDA #$01                A:6300 X:6000 Y:6000 ;set object animation speed
C0/1612 80 0E       BRA $0E    [$1622]      A:6301 X:6000 Y:6000 
C0/1622 85 80       STA $80    [$00:0080]   A:6301 X:6000 Y:6000 
C0/1624 B5 07       LDA $07,x  [$00:6007]   A:6301 X:6000 Y:6000 
C0/1626 48          PHA                     A:63C0 X:6000 Y:6000 
C0/1627 29 F8       AND #$F8                A:63C0 X:6000 Y:6000 
C0/1629 05 80       ORA $80    [$00:0080]   A:63C0 X:6000 Y:6000 
C0/162B 95 07       STA $07,x  [$00:6007]   A:63C1 X:6000 Y:6000 
C0/162D 20 EC B7    JSR $B7EC  [$00:B7EC]   A:63C1 X:6000 Y:6000 

SPRITE MAPPING
--------------
C0/8BB8 C8          INY                     A:6161 X:01AC Y:B89B 
C0/8BB9 C4 6E       CPY $6E    [$00:006E]   A:6161 X:01AC Y:B89C 
C0/8BBB F0 65       BEQ $65    [$8C22]      A:6161 X:01AC Y:B89C 
C0/8BBD A2 A0 62    LDX #$62A0              A:6161 X:01AC Y:B89C 
C0/8BC0 B9 00 00    LDA $0000,y[$D4:B89C]   A:6161 X:62A0 Y:B89C 
C0/8BC3 29 30       AND #$30                A:6122 X:62A0 Y:B89C 
C0/8BC5 85 60       STA $60    [$00:0060]   A:6120 X:62A0 Y:B89C 
C0/8BC7 B9 00 00    LDA $0000,y[$D4:B89C]   A:6120 X:62A0 Y:B89C 
C0/8BCA 29 0F       AND #$0F                A:6122 X:62A0 Y:B89C ;isolate multiple objects bits
C0/8BCC 85 61       STA $61    [$00:0061]   A:6102 X:62A0 Y:B89C 
C0/8BCE 20 48 8C    JSR $8C48  [$D4:8C48]   A:6102 X:62A0 Y:B89C 

C0/8C48 A5 60       LDA $60    [$00:0060]   A:6102 X:62A0 Y:B89C ;load initiation parameter flag
C0/8C4A C9 20       CMP #$20                A:6120 X:62A0 Y:B89C ;check if monster formation flag set
C0/8C4C F0 0E       BEQ $0E    [$8C5C]      A:6120 X:62A0 Y:B89C ;branch if it is

C0/8C4E C2 20       REP #$20                A:6100 X:62A0 Y:B89C 
C0/8C50 B9 06 00    LDA $0006,y[$D4:B8A2]   A:6100 X:62A0 Y:B89C 
C0/8C53 29 FF 0F    AND #$0FFF              A:6100 X:62A0 Y:B89C 
C0/8C56 95 52       STA $52,x  [$00:62F2]   A:6100 X:62A0 Y:B89C 
C0/8C58 E2 20       SEP #$20                A:6100 X:62A0 Y:B89C 
C0/8C5A 80 17       BRA $17    [$8C73]      A:6100 X:62A0 Y:B89C ;skip formation code

C0/8C5C C2 20       REP #$20                A:6120 X:62A0 Y:B89C 
C0/8C5E B9 06 00    LDA $0006,y[$D4:B8A2]   A:6120 X:62A0 Y:B89C ;load formation
C0/8C61 29 FF 01    AND #$01FF              A:C01A X:62A0 Y:B89C ;isolate formation bits
C0/8C64 95 53       STA $53,x  [$00:62F3]   A:001A X:62A0 Y:B89C 
C0/8C66 E2 20       SEP #$20                A:001A X:62A0 Y:B89C 
C0/8C68 B9 07 00    LDA $0007,y[$D4:B8A3]   A:001A X:62A0 Y:B89C ;load initiation byte
C0/8C6B 4A          LSR A                   A:00C0 X:62A0 Y:B89C 
C0/8C6C 29 07       AND #$07                A:0060 X:62A0 Y:B89C 
C0/8C6E 18          CLC                     A:0000 X:62A0 Y:B89C 
C0/8C6F 69 10       ADC #$10                A:0000 X:62A0 Y:B89C 
C0/8C71 95 52       STA $52,x  [$00:62F2]   A:0010 X:62A0 Y:B89C 

C0/8C73 B9 01 00    LDA $0001,y[$D4:B89D]   A:0010 X:62A0 Y:B89C 
C0/8C76 29 47       AND #$47                A:0040 X:62A0 Y:B89C 
C0/8C78 95 07       STA $07,x  [$00:62A7]   A:0040 X:62A0 Y:B89C 
C0/8C7A 29 07       AND #$07                A:0040 X:62A0 Y:B89C ;isolate extra movement speed bits
C0/8C7C 95 06       STA $06,x  [$00:62A6]   A:0000 X:62A0 Y:B89C 
C0/8C7E B9 01 00    LDA $0001,y[$D4:B89D]   A:0000 X:62A0 Y:B89C 
C0/8C81 29 08       AND #$08                A:0040 X:62A0 Y:B89C ;isolate 'face when touched' bits 
C0/8C83 0A          ASL A                   A:0000 X:62A0 Y:B89C 
C0/8C84 09 40       ORA #$40                A:0000 X:62A0 Y:B89C 
C0/8C86 95 08       STA $08,x  [$00:62A8]   A:0040 X:62A0 Y:B89C 
C0/8C88 B9 01 00    LDA $0001,y[$D4:B89D]   A:0040 X:62A0 Y:B89C 
C0/8C8B 4A          LSR A                   A:0040 X:62A0 Y:B89C 
C0/8C8C 4A          LSR A                   A:0020 X:62A0 Y:B89C 
C0/8C8D 29 08       AND #$08                A:0010 X:62A0 Y:B89C 
C0/8C8F 85 80       STA $80    [$00:0080]   A:0000 X:62A0 Y:B89C 
C0/8C91 B9 07 00    LDA $0007,y[$D4:B8A3]   A:0000 X:62A0 Y:B89C ;load initiation byte
C0/8C94 29 F0       AND #$F0                A:00C0 X:62A0 Y:B89C ;isolate interaction field bits
C0/8C96 05 80       ORA $80    [$00:0080]   A:00C0 X:62A0 Y:B89C 
C0/8C98 95 59       STA $59,x  [$00:62F9]   A:00C0 X:62A0 Y:B89C 
C0/8C9A B9 01 00    LDA $0001,y[$D4:B89D]   A:00C0 X:62A0 Y:B89C 
C0/8C9D 29 80       AND #$80                A:0040 X:62A0 Y:B89C 
C0/8C9F 95 0C       STA $0C,x  [$00:62AC]   A:0000 X:62A0 Y:B89C 
C0/8CA1 B9 01 00    LDA $0001,y[$D4:B89D]   A:0000 X:62A0 Y:B89C 
C0/8CA4 29 10       AND #$10                A:0040 X:62A0 Y:B89C 
C0/8CA6 0A          ASL A                   A:0000 X:62A0 Y:B89C 
C0/8CA7 0A          ASL A                   A:0000 X:62A0 Y:B89C 
C0/8CA8 0A          ASL A                   A:0000 X:62A0 Y:B89C 
C0/8CA9 95 09       STA $09,x  [$00:62A9]   A:0000 X:62A0 Y:B89C 
C0/8CAB B9 03 00    LDA $0003,y[$D4:B89F]   A:0000 X:62A0 Y:B89C ;load object's low byte
C0/8CAE 29 03       AND #$03                A:0021 X:62A0 Y:B89C ;isolate alternate palette bits
C0/8CB0 95 0B       STA $0B,x  [$00:62AB]   A:0001 X:62A0 Y:B89C 
C0/8CB2 B9 02 00    LDA $0002,y[$D4:B89E]   A:0001 X:62A0 Y:B89C 
C0/8CB5 95 0A       STA $0A,x  [$00:62AA]   A:0050 X:62A0 Y:B89C 

C0/8CB7 C2 20       REP #$20                A:0050 X:62A0 Y:B89C 
C0/8CB9 B9 03 00    LDA $0003,y[$D4:B89F]   A:0050 X:62A0 Y:B89C ;load object
C0/8CBC 4A          LSR A                   A:2421 X:62A0 Y:B89C ;shift to object byte
C0/8CBD 4A          LSR A                   A:1210 X:62A0 Y:B89C 
C0/8CBE 29 FF 03    AND #$03FF              A:0908 X:62A0 Y:B89C ;isolate object collection range
C0/8CC1 85 62       STA $62    [$00:0062]   A:0108 X:62A0 Y:B89C 
C0/8CC3 B9 04 00    LDA $0004,y[$D4:B8A0]   A:0108 X:62A0 Y:B89C ;load movement type
C0/8CC6 4A          LSR A                   A:D924 X:62A0 Y:B89C ;shift to movement bits
C0/8CC7 4A          LSR A                   A:6C92 X:62A0 Y:B89C 
C0/8CC8 4A          LSR A                   A:3649 X:62A0 Y:B89C 
C0/8CC9 4A          LSR A                   A:1B24 X:62A0 Y:B89C 
C0/8CCA 29 FF 03    AND #$03FF              A:0D92 X:62A0 Y:B89C ;isolate movement bits
C0/8CCD 85 64       STA $64    [$00:0064]   A:0192 X:62A0 Y:B89C 
C0/8CCF E2 20       SEP #$20                A:0192 X:62A0 Y:B89C 
C0/8CD1 C2 20       REP #$20                A:0192 X:62A0 Y:B89C 
C0/8CD3 98          TYA                     A:0192 X:62A0 Y:B89C 
C0/8CD4 18          CLC                     A:B89C X:62A0 Y:B89C 
C0/8CD5 69 08 00    ADC #$0008              A:B89C X:62A0 Y:B89C 
C0/8CD8 A8          TAY                     A:B8A4 X:62A0 Y:B89C 
C0/8CD9 E2 20       SEP #$20                A:B8A4 X:62A0 Y:B8A4 
C0/8CDB 60          RTS                     A:B8A4 X:62A0 Y:B8A4 

C0/8BD1 A5 60       LDA $60    [$00:0060]   A:B8A4 X:62A0 Y:B8A4 ;load initiation parameter flag
C0/8BD3 F0 12       BEQ $12    [$8BE7]      A:B820 X:62A0 Y:B8A4 ;branch if 0
C0/8BD5 5A          PHY                     A:B820 X:62A0 Y:B8A4 
C0/8BD6 C2 20       REP #$20                A:B820 X:62A0 Y:B8A4 
C0/8BD8 A5 62       LDA $62    [$00:0062]   A:B820 X:62A0 Y:B8A4 
C0/8BDA 0A          ASL A                   A:0108 X:62A0 Y:B8A4 
C0/8BDB 0A          ASL A                   A:0210 X:62A0 Y:B8A4 
C0/8BDC 0A          ASL A                   A:0420 X:62A0 Y:B8A4 
C0/8BDD 38          SEC                     A:0840 X:62A0 Y:B8A4 
C0/8BDE E5 62       SBC $62    [$00:0062]   A:0840 X:62A0 Y:B8A4 
C0/8BE0 A8          TAY                     A:0738 X:62A0 Y:B8A4 
C0/8BE1 E2 20       SEP #$20                A:0738 X:62A0 Y:0738 
C0/8BE3 20 DC 8C    JSR $8CDC  [$D4:8CDC]   A:0738 X:62A0 Y:0738 ;load object field/sprite properties

C0/8BE6 7A          PLY                     A:0101 X:62A0 Y:0738 
C0/8BE7 A5 61       LDA $61    [$00:0061]   A:0101 X:62A0 Y:B8A4 ;load multiple object byte
C0/8BE9 F0 1E       BEQ $1E    [$8C09]      A:0102 X:62A0 Y:B8A4 ;branch if only one object
C0/8BEB 85 80       STA $80    [$00:0080]   A:0102 X:62A0 Y:B8A4 
C0/8BED 64 81       STZ $81    [$00:0081]   A:0102 X:62A0 Y:B8A4 
C0/8BEF C2 20       REP #$20                A:0102 X:62A0 Y:B8A4 
C0/8BF1 8B          PHB                     A:0102 X:62A0 Y:B8A4 
C0/8BF2 DA          PHX                     A:0102 X:62A0 Y:B8A4 
C0/8BF3 5A          PHY                     A:0102 X:62A0 Y:B8A4 
C0/8BF4 8A          TXA                     A:0102 X:62A0 Y:B8A4 
C0/8BF5 18          CLC                     A:62A0 X:62A0 Y:B8A4 
C0/8BF6 69 60 00    ADC #$0060              A:62A0 X:62A0 Y:B8A4 
C0/8BF9 A8          TAY                     A:6300 X:62A0 Y:B8A4 
C0/8BFA A9 5F 00    LDA #$005F              A:6300 X:62A0 Y:6300 
C0/8BFD 54          MVN 00 00               A:005F X:62A0 Y:6300 ;copy object mapping stats to each multiple object

C0/8C00 C6 80       DEC $80    [$00:0080]   A:FFFF X:6300 Y:6360 ;decrement multiple object counter
C0/8C02 D0 F6       BNE $F6    [$8BFA]      A:FFFF X:6300 Y:6360 ;branch if not at last object

C0/8C04 7A          PLY                     A:FFFF X:6360 Y:63C0 
C0/8C05 FA          PLX                     A:FFFF X:6360 Y:B8A4 
C0/8C06 AB          PLB                     A:FFFF X:62A0 Y:B8A4 
C0/8C07 E2 20       SEP #$20                A:FFFF X:62A0 Y:B8A4 
C0/8C09 E6 61       INC $61    [$00:0061]   A:FFFF X:62A0 Y:B8A4 
C0/8C0B 20 A2 8D    JSR $8DA2  [$D4:8DA2]   A:FFFF X:62A0 Y:B8A4 
C0/8DA2 A5 60       LDA $60    [$00:0060]   A:FFFF X:62A0 Y:B8A4 ;load initiation parameter flag
C0/8DA4 F0 30       BEQ $30    [$8DD6]      A:FF20 X:62A0 Y:B8A4 ;branch if 
C0/8DA6 C9 10       CMP #$10                A:FF20 X:62A0 Y:B8A4 
C0/8DA8 F0 1E       BEQ $1E    [$8DC8]      A:FF20 X:62A0 Y:B8A4 
C0/8DAA B9 00 00    LDA $0000,y[$D4:B8A4]   A:FF20 X:62A0 Y:B8A4 
C0/8DAD 29 0F       AND #$0F                A:FF03 X:62A0 Y:B8A4 ;isolate movement bits offset
C0/8DAF 85 80       STA $80    [$00:0080]   A:FF03 X:62A0 Y:B8A4 
C0/8DB1 64 81       STZ $81    [$00:0081]   A:FF03 X:62A0 Y:B8A4 
C0/8DB3 B9 00 00    LDA $0000,y[$D4:B8A4]   A:FF03 X:62A0 Y:B8A4 
C0/8DB6 4A          LSR A                   A:FF03 X:62A0 Y:B8A4 ;shift upper bits to lower bits
C0/8DB7 4A          LSR A                   A:FF01 X:62A0 Y:B8A4 
C0/8DB8 4A          LSR A                   A:FF00 X:62A0 Y:B8A4 
C0/8DB9 4A          LSR A                   A:FF00 X:62A0 Y:B8A4 

C0/8DBA C2 20       REP #$20                A:FF00 X:62A0 Y:B8A4 
C0/8DBC 29 FF 00    AND #$00FF              A:FF00 X:62A0 Y:B8A4 ;isolate lower bits
C0/8DBF 18          CLC                     A:0000 X:62A0 Y:B8A4 
C0/8DC0 75 53       ADC $53,x  [$00:62F3]   A:0000 X:62A0 Y:B8A4 
C0/8DC2 95 53       STA $53,x  [$00:62F3]   A:001A X:62A0 Y:B8A4 
C0/8DC4 E2 20       SEP #$20                A:001A X:62A0 Y:B8A4 
C0/8DC6 80 47       BRA $47    [$8E0F]      A:001A X:62A0 Y:B8A4 

C0/8DC8 B9 00 00    LDA $0000,y[$D4:B8A4]   A:FF10 X:62A0 Y:B8A4 
C0/8DCB 85 80       STA $80    [$00:0080]   A:FF03 X:62A0 Y:B8A4 
C0/8DCD 20 1B 9B    JSR $9B1B  [$D4:9B1B]   A:FF03 X:62A0 Y:B8A4 

-----------------------------------------
OBJECT OFFSET FLAG

C0/8DD6 5A          PHY                     A:FF00 X:62A0 Y:B8A4 
C0/8DD7 B9 00 00    LDA $0000,y[$D4:B8A4]   A:FF00 X:62A0 Y:B8A4 
C0/8DDA C2 20       REP #$20                A:FF03 X:62A0 Y:B8A4 
C0/8DDC 29 07 00    AND #$0007              A:FF03 X:62A0 Y:B8A4 
C0/8DDF 18          CLC                     A:0003 X:62A0 Y:B8A4 
C0/8DE0 65 62       ADC $62    [$00:0062]   A:0003 X:62A0 Y:B8A4 
C0/8DE2 85 80       STA $80    [$00:0080]   A:010B X:62A0 Y:B8A4 
C0/8DE4 0A          ASL A                   A:010B X:62A0 Y:B8A4 
C0/8DE5 0A          ASL A                   A:0216 X:62A0 Y:B8A4 
C0/8DE6 0A          ASL A                   A:042C X:62A0 Y:B8A4 
C0/8DE7 38          SEC                     A:0858 X:62A0 Y:B8A4 
C0/8DE8 E5 80       SBC $80    [$00:0080]   A:0858 X:62A0 Y:B8A4 
C0/8DEA A8          TAY                     A:074D X:62A0 Y:B8A4 
C0/8DEB E2 20       SEP #$20                A:074D X:62A0 Y:074D 
C0/8DED 20 DC 8C    JSR $8CDC  [$D4:8CDC]   A:074D X:62A0 Y:074D ;load object properties
-----------------------------------------

C0/8E0F DA          PHX                     A:001A X:62A0 Y:B8A4 
C0/8E10 C2 20       REP #$20                A:001A X:62A0 Y:B8A4 
C0/8E12 A5 80       LDA $80    [$00:0080]   A:001A X:62A0 Y:B8A4 ;load movement bits offset
C0/8E14 18          CLC                     A:0003 X:62A0 Y:B8A4 
C0/8E15 65 64       ADC $64    [$00:0064]   A:0003 X:62A0 Y:B8A4 ;add to movement byte
C0/8E17 0A          ASL A                   A:0195 X:62A0 Y:B8A4 
C0/8E18 AA          TAX                     A:032A X:62A0 Y:B8A4 
C0/8E19 BF 00 00 E1 LDA $E10000,x[$E1:032A] A:032A X:032A Y:B8A4 ;load movement pointer
C0/8E1D FA          PLX                     A:499A X:032A Y:B8A4 
C0/8E1E 95 32       STA $32,x  [$00:62D2]   A:499A X:62A0 Y:B8A4 
C0/8E20 E2 20       SEP #$20                A:499A X:62A0 Y:B8A4 
C0/8E22 B9 01 00    LDA $0001,y[$D4:B8A5]   A:499A X:62A0 Y:B8A4 
C0/8E25 29 7F       AND #$7F                A:4907 X:62A0 Y:B8A4 
C0/8E27 85 80       STA $80    [$00:0080]   A:4907 X:62A0 Y:B8A4 
C0/8E29 B9 02 00    LDA $0002,y[$D4:B8A6]   A:4907 X:62A0 Y:B8A4 
C0/8E2C 29 7F       AND #$7F                A:493B X:62A0 Y:B8A4 
C0/8E2E 85 82       STA $82    [$00:0082]   A:493B X:62A0 Y:B8A4 
C0/8E30 B9 03 00    LDA $0003,y[$D4:B8A7]   A:493B X:62A0 Y:B8A4 
C0/8E33 29 1F       AND #$1F                A:4920 X:62A0 Y:B8A4 
C0/8E35 95 05       STA $05,x  [$00:62A5]   A:4900 X:62A0 Y:B8A4 
C0/8E37 B9 02 00    LDA $0002,y[$D4:B8A6]   A:4900 X:62A0 Y:B8A4 
C0/8E3A 29 80       AND #$80                A:493B X:62A0 Y:B8A4 
C0/8E3C 95 04       STA $04,x  [$00:62A4]   A:4900 X:62A0 Y:B8A4 
C0/8E3E B9 03 00    LDA $0003,y[$D4:B8A7]   A:4900 X:62A0 Y:B8A4 
C0/8E41 4A          LSR A                   A:4920 X:62A0 Y:B8A4 
C0/8E42 4A          LSR A                   A:4910 X:62A0 Y:B8A4 
C0/8E43 4A          LSR A                   A:4908 X:62A0 Y:B8A4 
C0/8E44 4A          LSR A                   A:4904 X:62A0 Y:B8A4 
C0/8E45 4A          LSR A                   A:4902 X:62A0 Y:B8A4 
C0/8E46 15 08       ORA $08,x  [$00:62A8]   A:4901 X:62A0 Y:B8A4 
C0/8E48 95 08       STA $08,x  [$00:62A8]   A:4941 X:62A0 Y:B8A4 
C0/8E4A 20 E8 9A    JSR $9AE8  [$D4:9AE8]   A:4941 X:62A0 Y:B8A4



THIS IS WHY THE SPARKIES ARE SO SLOW (not this, the next block):

C0/B7EC B5 06       LDA $06,x  [$00:6006]   A:63C1 X:6000 Y:6000 
C0/B7EE 20 FD B7    JSR $B7FD  [$00:B7FD]   A:6338 X:6000 Y:6000 
C0/B7FD 29 07       AND #$07                A:6338 X:6000 Y:6000 
C0/B7FF F0 2C       BEQ $2C    [$B82D]      A:6300 X:6000 Y:6000 

C0/B82D A9 10       LDA #$10                A:6300 X:6000 Y:6000 ;set velocity/movement for object
C0/B82F 60          RTS                     A:6310 X:6000 Y:6000 

THIS IS USED BY THE SPARKIES SO CHANGING THIS WILL MESS THEM UP:

C0/B7F1 95 40       STA $40,x  [$00:6040]   A:6310 X:6000 Y:6000 
C0/B7F3 B5 07       LDA $07,x  [$00:6007]   A:6310 X:6000 Y:6000 
C0/B7F5 20 FD B7    JSR $B7FD  [$00:B7FD]   A:63C1 X:6000 Y:6000 